package com.ramotion.expandingcollection.pojo;

import com.ramotion.expandingcollection.EcCardData;

import java.security.SecureRandom;
import java.util.List;

/**
 * CardData
 *
 * @since 2021-05-31
 */
public class CardData implements EcCardData<Comment> {
    private static final int CONSTANT_50 = 50;
    private static final int CONSTANT_35 = 35;
    private static final int CONSTANT_10 = 10;
    private static final int CONSTANT_950 = 950;
    private static final int CONSTANT_170 = 170;
    private static final int CONSTANT_1000 = 1000;
    private String headTitle;
    private Integer headBackgroundResource;
    private Integer mainBackgroundResource;

    private Integer personPictureResource;
    private String personName;
    private String personMessage;
    private int personViewsCount;
    private int personCommentsCount;
    private int personLikesCount;
    private List<Comment> listItems;

    /**
     * CardData
     */
    public CardData() {
        SecureRandom rnd = new SecureRandom();
        this.personViewsCount = CONSTANT_50 + rnd.nextInt(CONSTANT_950);
        this.personCommentsCount = CONSTANT_35 + rnd.nextInt(CONSTANT_170);
        this.personLikesCount = CONSTANT_10 + rnd.nextInt(CONSTANT_1000);
    }

    /**
     * getHeadTitle
     *
     * @return headTitle
     */
    public String getHeadTitle() {
        return headTitle;
    }

    /**
     * setHeadTitle
     *
     * @param headTitle
     */
    public void setHeadTitle(String headTitle) {
        this.headTitle = headTitle;
    }

    /**
     * getHeadBackgroundResource
     *
     * @return headBackgroundResource
     */
    public Integer getHeadBackgroundResource() {
        return headBackgroundResource;
    }

    /**
     * setHeadBackgroundResource
     *
     * @param headBackgroundResource
     */
    public void setHeadBackgroundResource(Integer headBackgroundResource) {
        this.headBackgroundResource = headBackgroundResource;
    }

    /**
     * getMainBackgroundResource
     *
     * @return mainBackgroundResource
     */
    public Integer getMainBackgroundResource() {
        return mainBackgroundResource;
    }

    /**
     * setMainBackgroundResource
     *
     * @param mainBackgroundResource
     */
    public void setMainBackgroundResource(Integer mainBackgroundResource) {
        this.mainBackgroundResource = mainBackgroundResource;
    }

    /**
     * getPersonPictureResource
     *
     * @return personPictureResource
     */
    public Integer getPersonPictureResource() {
        return personPictureResource;
    }

    /**
     * setPersonPictureResource
     *
     * @param personPictureResource
     */
    public void setPersonPictureResource(Integer personPictureResource) {
        this.personPictureResource = personPictureResource;
    }

    /**
     * getPersonName
     *
     * @return personName
     */
    public String getPersonName() {
        return personName;
    }

    /**
     * setPersonName
     *
     * @param personName
     */
    public void setPersonName(String personName) {
        this.personName = personName;
    }

    /**
     * getPersonMessage
     *
     * @return personMessage
     */
    public String getPersonMessage() {
        return personMessage;
    }

    /**
     * setPersonMessage
     *
     * @param personMessage
     */
    public void setPersonMessage(String personMessage) {
        this.personMessage = personMessage;
    }

    /**
     * getPersonViewsCount
     *
     * @return personViewsCount
     */
    public int getPersonViewsCount() {
        return personViewsCount;
    }

    /**
     * setPersonViewsCount
     *
     * @param personViewsCount
     */
    public void setPersonViewsCount(int personViewsCount) {
        this.personViewsCount = personViewsCount;
    }

    /**
     * getPersonCommentsCount
     *
     * @return personCommentsCount
     */
    public int getPersonCommentsCount() {
        return personCommentsCount;
    }

    /**
     * setPersonCommentsCount
     *
     * @param personCommentsCount
     */
    public void setPersonCommentsCount(int personCommentsCount) {
        this.personCommentsCount = personCommentsCount;
    }

    /**
     * getPersonLikesCount
     *
     * @return personLikesCount
     */
    public int getPersonLikesCount() {
        return personLikesCount;
    }

    /**
     * setPersonLikesCount
     *
     * @param personLikesCount
     */
    public void setPersonLikesCount(int personLikesCount) {
        this.personLikesCount = personLikesCount;
    }

    /**
     * getListItems
     *
     * @return listItems
     */
    @Override
    public List<Comment> getListItems() {
        return listItems;
    }

    /**
     * setListItems
     *
     * @param listItems
     */
    public void setListItems(List<Comment> listItems) {
        this.listItems = listItems;
    }
}
